package lik.Test;

public class A {
	// boolean can't be automatically converted
	static void prt(String s) {
		System.out.println(s);
	}

	void f1(char x) {
		A.prt("f1(char)");
	}

	void f1(byte x) {
		A.prt("f1(byte)");
	}

	void f1(short x) {
		A.prt("f1(short)");
	}

	void f1(int x) {
		A.prt("f1(int)");
	}

	void f1(long x) {
		A.prt("f1(long)");
	}

	void f1(float x) {
		A.prt("f1(float)");
	}

	void f1(double x) {
		A.prt("f1(double)");
	}

	void f2(byte x) {
		A.prt("f2(byte)");
	}

	void f2(short x) {
		A.prt("f2(short)");
	}

	void f2(int x) {
		A.prt("f2(int)");
	}

	void f2(long x) {
		A.prt("f2(long)");
	}

	void f2(float x) {
		A.prt("f2(float)");
	}

	void f2(double x) {
		A.prt("f2(double)");
	}

	void f3(short x) {
		A.prt("f3(short)");
	}

	void f3(int x) {
		A.prt("f3(int)");
	}

	void f3(long x) {
		A.prt("f3(long)");
	}

	void f3(float x) {
		A.prt("f3(float)");
	}

	void f3(double x) {
		A.prt("f3(double)");
	}

	void f4(int x) {
		A.prt("f4(int)");
	}

	void f4(long x) {
		A.prt("f4(long)");
	}

	void f4(float x) {
		A.prt("f4(float)");
	}

	void f4(double x) {
		A.prt("f4(double)");
	}

	void f5(long x) {
		A.prt("f5(long)");
	}

	void f5(float x) {
		A.prt("f5(float)");
	}

	void f5(double x) {
		A.prt("f5(double)");
	}

	void f6(float x) {
		A.prt("f6(float)");
	}

	void f6(double x) {
		A.prt("f6(double)");
	}

	void f7(double x) {
		A.prt("f7(double)");
	}

	void testConstVal() {
		A.prt("Testing with 5");
		this.f1(5);
		this.f2(5);
		this.f3(5);
		this.f4(5);
		this.f5(5);
		this.f6(5);
		this.f7(5);
	}

	void testChar() {
		char x = 'x';
		A.prt("char argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	void testByte() {
		byte x = 0;
		A.prt("byte argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	void testShort() {
		short x = 0;
		A.prt("short argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	void testInt() {
		int x = 0;
		A.prt("int argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	void testLong() {
		long x = 0;
		A.prt("long argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	void testFloat() {
		float x = 0;
		A.prt("float argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	void testDouble() {
		double x = 0;
		A.prt("double argument:");
		this.f1(x);
		this.f2(x);
		this.f3(x);
		this.f4(x);
		this.f5(x);
		this.f6(x);
		this.f7(x);
	}

	public static void main(String[] args) {
		A p = new A();
		p.testConstVal();
		p.testChar();
		p.testByte();
		p.testShort();
		p.testInt();
		p.testLong();
		p.testFloat();
		p.testDouble();
	}
}
